/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package CapaNegocios;
import entidad.Proveedores;
import controlador.ProveedoresJpaController;
import controlrestaurante.pmf;
import java.util.List;
/**
 *
 * @author a
 */
public class CNProveedor {
    public static boolean insertar(Proveedores proveedor)
    {        
        try{
            ProveedoresJpaController controlador = new ProveedoresJpaController(pmf.getInstancia().getEMF());
            controlador.create(proveedor);
        }catch (Exception e){
            return false;
        }
        return true;  
    }
    
    //*********** ingresos**************
    public static boolean insertar(String nombre, String nit, String direccion, String telefono, String correo,String descripcion)
    {
       try{
           Proveedores pro = new Proveedores();
           pro.setNombre(nombre);
           pro.setNitProveedor(nit);
           pro.setDireccion(direccion);
           pro.setTelefono(telefono);
           pro.setCorreo(correo);
           pro.setDescripcion(descripcion);
           pro.setActivo(Boolean.TRUE);
           ProveedoresJpaController controlador = new ProveedoresJpaController(pmf.getInstancia().getEMF());
           controlador.create(pro);
       }catch(Exception e)
       {
           return false;
       }
        
        return true;
    }
    
    public static boolean eliminar(Proveedores prod)
    {
        
        try{
            ProveedoresJpaController controlador = new ProveedoresJpaController(pmf.getInstancia().getEMF());
            controlador.destroy(prod.getIdProveedores());
        }
        catch(Exception e )
        {
            return false;
        }
        return true;
    }
    /********************* modiicar***************/
    public static boolean modificar(Proveedores pro)
    {
        try{
            ProveedoresJpaController controlador = new ProveedoresJpaController(pmf.getInstancia().getEMF());
            controlador.edit(pro);
        }catch(Exception e)
        {
            return false;
        }
        return true;
    }
    public static boolean activar(int id)
    {
        Proveedores pro;
        try{
            ProveedoresJpaController controlador = new ProveedoresJpaController(pmf.getInstancia().getEMF());
            pro= controlador.findProveedores(id);
            pro.setActivo(Boolean.TRUE);
            controlador.edit(pro);
        }catch(Exception e)
        {
            return false;
        }
        return true;
    }
    public static boolean desactivar(int id)
    {
        Proveedores pro;
        try{
            ProveedoresJpaController controlador = new ProveedoresJpaController(pmf.getInstancia().getEMF());
            pro= controlador.findProveedores(id);
            pro.setActivo(Boolean.FALSE);
            controlador.edit(pro);
        }catch(Exception e)
        {
            return false;
        }
        return true;
    }
    /********************* Funciones buscar***************/
    public static Proveedores buscarId(int id)
    {
        Proveedores pro = null;
        try{
            ProveedoresJpaController controlador = new ProveedoresJpaController(pmf.getInstancia().getEMF());
            pro= controlador.findProveedores(id);
        }catch(Exception e ){
            return null;
        }
        return pro;
    }
    public static List<Proveedores> buscarTodos()
    {
         List <Proveedores> lista= (List) Consultas.consulta("Proveedores", "findByActivo", "activo", true);
         return lista;
        
    }
    public static List<Proveedores> buscarTodosEliminados()
    {
         List <Proveedores> lista= (List) Consultas.consulta("Proveedores", "findByActivo", "activo", false);
         return lista;
    }
    public static List<Proveedores> buscarNombre(String nombre)
    {
        List <Proveedores> lista= (List) Consultas.consulta("Proveedores", "findByNombre", "nombre", "%"+nombre+"%");
        return lista;
    }
}
